Skip to content

Conversation

@Garzas
Copy link
Contributor

@Garzas Garzas commented Feb 10, 2026

https://wearezeta.atlassian.net/browse/WPB-23368


PR Submission Checklist for internal contributors

  • The PR Title

    • conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
    • contains a reference JIRA issue number like SQPIT-764
    • answers the question: If merged, this PR will: ... ³
  • The PR Description

    • is free of optional paragraphs and you have filled the relevant parts to the best of your ability

What's new in this PR?

Issues

  • Verification refresh during MLS epoch-change flow was opening additional CC transactions.
  • During batch decrypt, those extra transactions could be blocked by ongoing decrypt work, causing delays and noisy waiting logs.
  • Member verification status retrieval used a mixed access pattern, leading to duplicated read logic.

Causes (Optional)

  • Verification checks in epoch/conversation flows were still tied to transaction-based access.
  • Read-only verification/identity checks were not consistently routed through the same non-blocking path.

Solutions

  • Removed extra transaction usage from epoch-change and conversation verification refresh flows.
  • Switched verification state reads to the read-only client path.
  • Standardized member-identity retrieval by passing the client explicitly to repository methods, instead of using transaction context/provider inside the repository.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 10, 2026

Test Results

0 tests   - 4 331   0 ✅  - 4 214   0s ⏱️ - 5m 50s
0 suites  -   725   0 💤  -   117 
0 files    -   725   0 ❌ ±    0 

Results for commit 5229c1c. ± Comparison against base commit 3e70856.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 10, 2026

Co-authored-by: Mohamad Jaara <mohamad.jaara@wire.com>
@sonarqubecloud
Copy link

@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 77.41935% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 59.57%. Comparing base (8478f6d) to head (5229c1c).
⚠️ Report is 3 commits behind head on develop.

Files with missing lines Patch % Lines
...tlin/com/wire/kalium/cryptography/MLSClientImpl.kt 0.00% 5 Missing ⚠️
...in/com/wire/kalium/logic/feature/user/UserScope.kt 0.00% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3857      +/-   ##
===========================================
- Coverage    59.58%   59.57%   -0.01%     
===========================================
  Files         1899     1900       +1     
  Lines        59335    59476     +141     
  Branches      6430     6451      +21     
===========================================
+ Hits         35356    35435      +79     
- Misses       21018    21080      +62     
  Partials      2961     2961              
Files with missing lines Coverage Δ
...n/kotlin/com/wire/kalium/cryptography/MLSClient.kt 50.74% <ø> (ø)
...gic/data/conversation/MLSConversationRepository.kt 76.42% <100.00%> (-0.58%) ⬇️
...e/FetchConversationMLSVerificationStatusUseCase.kt 100.00% <100.00%> (+18.18%) ⬆️
.../e2ei/usecase/FetchMLSVerificationStatusUseCase.kt 87.75% <100.00%> (+0.65%) ⬆️
...secase/GetMembersE2EICertificateStatusesUseCase.kt 80.95% <100.00%> (+8.22%) ⬆️
...rveE2EIConversationsVerificationStatusesUseCase.kt 100.00% <100.00%> (+15.38%) ⬆️
...in/com/wire/kalium/logic/feature/user/UserScope.kt 0.00% <0.00%> (ø)
...tlin/com/wire/kalium/cryptography/MLSClientImpl.kt 43.18% <0.00%> (-1.71%) ⬇️

... and 34 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8478f6d...5229c1c. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

}
}

override suspend fun isGroupVerified(groupId: MLSGroupId): E2EIConversationState {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor comment: either move the logic for checking the group status in this method (ccGroupStatus == VerificationStatus.VERIFIED) and return boolean or change the name to getGroupState().
Otherwise the name / return type do not match.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants